package com.eam.dao;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.eam.bean.User;

/**
 * A data access object (DAO) providing persistence and search support for User
 * entities. Transaction control of the save(), update() and delete() operations
 * can directly support Spring container-managed transactions or they can be
 * augmented to handle user-managed Spring transactions. Each of these methods
 * provides additional information for how to configure it for the desired type
 * of transaction control.
 * 
 * @see com.eam.dao.User
 * @author MyEclipse Persistence Tools
 */

public abstract class UserDAO extends HibernateDaoSupport {
	

	public abstract void save(User transientInstance);

	public abstract void delete(User persistentInstance) ;

	public abstract User findById(java.lang.Integer id) ;

	public abstract List findByExample(User instance) ;

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findByName(Object name) ;

	public abstract List findByPassword(Object password) ;
	public abstract List findByRealName(Object realName);

	public abstract List findByImage(Object image);
	public abstract List findBySex(Object sex) ;
	public abstract List findByTelephone(Object telephone) ;

	public abstract List findByEmail(Object email);
	public abstract List findByArea(Object area) ;

	public abstract List findByAddress(Object address) ;

	public abstract List findByPositionId(Object positionId) ;

	public abstract List findBySalary(Object salary);

	public abstract List findByDepartmentId(Object departmentId);

	public abstract List findByLeader(Object leader);

	public abstract List findBySpec(Object spec);

	public abstract List findAll();

	public abstract User merge(User detachedInstance);

	public abstract void attachDirty(User instance) ;

	public abstract void attachClean(User instance);

}